package com.zhk.svg;

import com.formdev.flatlaf.extras.FlatSVGIcon;
import com.zhk.svg.svgfile.Res;

import java.awt.*;
import java.net.URISyntaxException;
import java.net.URL;

public class SvgUtils {

    /**
     * 获取Svg通过颜色
     * @param svgName
     * @param color
     * @return
     */
    public static FlatSVGIcon getSvg(String svgName,Color color) throws Exception{
        URL svgPath = Res.class.getResource(svgName+".svg");
        SvgIcon svgIcon = new SvgIcon(svgPath.toURI(), -1,-1,1.0F,false);
        svgIcon.setColorFilter(new FlatSVGIcon.ColorFilter(color1 -> color));
        return svgIcon;
    }



    /**
     * 获取Svg通过指定大小和颜色
     * @param svgName
     * @param color
     * @param width
     * @param height
     * @return
     */
    public static FlatSVGIcon getSvg(String svgName, Color color,int width,int height) throws URISyntaxException {
        URL svgPath = Res.class.getResource(svgName+".svg");
        SvgIcon flatSVGIcon = new SvgIcon(svgPath.toURI(), width,height,1.0F,false);
        flatSVGIcon.setColorFilter(new FlatSVGIcon.ColorFilter(color1 -> color));
        return flatSVGIcon;
    }


    /**
     * 获取Svg通过指定大小
     * @param svgName
     * @param width
     * @param height
     * @return
     */
    public static FlatSVGIcon getSvg(String svgName,int width,int height) throws URISyntaxException {
        URL svgPath = Res.class.getResource(svgName+".svg");
        SvgIcon flatSVGIcon = new SvgIcon(svgPath.toURI(), width,height,1.0F,false);
        return flatSVGIcon;
    }


    /**
     * 获取Svg通过指定大小
     * @param svgName
     * @return
     */
    public static FlatSVGIcon getSvg(String svgName) throws URISyntaxException {
        URL svgPath = Res.class.getResource(svgName+".svg");
        SvgIcon flatSVGIcon = new SvgIcon(svgPath.toURI(), -1,-1,1.0F,false);
        return flatSVGIcon;
    }



}
